home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / avr32 / include / asm / elf.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.9 KB  |  109 lines

  1. #ifndef __ASM_AVR32_ELF_H
  2. #define __ASM_AVR32_ELF_H
  3.  
  4. /* AVR32 relocation numbers */
  5. #define R_AVR32_NONE        0
  6. #define R_AVR32_32        1
  7. #define R_AVR32_16        2
  8. #define R_AVR32_8        3
  9. #define R_AVR32_32_PCREL    4
  10. #define R_AVR32_16_PCREL    5
  11. #define R_AVR32_8_PCREL        6
  12. #define R_AVR32_DIFF32        7
  13. #define R_AVR32_DIFF16        8
  14. #define R_AVR32_DIFF8        9
  15. #define R_AVR32_GOT32        10
  16. #define R_AVR32_GOT16        11
  17. #define R_AVR32_GOT8        12
  18. #define R_AVR32_21S        13
  19. #define R_AVR32_16U        14
  20. #define R_AVR32_16S        15
  21. #define R_AVR32_8S        16
  22. #define R_AVR32_8S_EXT        17
  23. #define R_AVR32_22H_PCREL    18
  24. #define R_AVR32_18W_PCREL    19
  25. #define R_AVR32_16B_PCREL    20
  26. #define R_AVR32_16N_PCREL    21
  27. #define R_AVR32_14UW_PCREL    22
  28. #define R_AVR32_11H_PCREL    23
  29. #define R_AVR32_10UW_PCREL    24
  30. #define R_AVR32_9H_PCREL    25
  31. #define R_AVR32_9UW_PCREL    26
  32. #define R_AVR32_HI16        27
  33. #define R_AVR32_LO16        28
  34. #define R_AVR32_GOTPC        29
  35. #define R_AVR32_GOTCALL        30
  36. #define R_AVR32_LDA_GOT        31
  37. #define R_AVR32_GOT21S        32
  38. #define R_AVR32_GOT18SW        33
  39. #define R_AVR32_GOT16S        34
  40. #define R_AVR32_GOT7UW        35
  41. #define R_AVR32_32_CPENT    36
  42. #define R_AVR32_CPCALL        37
  43. #define R_AVR32_16_CP        38
  44. #define R_AVR32_9W_CP        39
  45. #define R_AVR32_RELATIVE    40
  46. #define R_AVR32_GLOB_DAT    41
  47. #define R_AVR32_JMP_SLOT    42
  48. #define R_AVR32_ALIGN        43
  49.  
  50. /*
  51.  * ELF register definitions..
  52.  */
  53.  
  54. #include <asm/ptrace.h>
  55. #include <asm/user.h>
  56.  
  57. typedef unsigned long elf_greg_t;
  58.  
  59. #define ELF_NGREG (sizeof (struct pt_regs) / sizeof (elf_greg_t))
  60. typedef elf_greg_t elf_gregset_t[ELF_NGREG];
  61.  
  62. typedef struct user_fpu_struct elf_fpregset_t;
  63.  
  64. /*
  65.  * This is used to ensure we don't load something for the wrong architecture.
  66.  */
  67. #define elf_check_arch(x) ( (x)->e_machine == EM_AVR32 )
  68.  
  69. /*
  70.  * These are used to set parameters in the core dumps.
  71.  */
  72. #define ELF_CLASS    ELFCLASS32
  73. #ifdef __LITTLE_ENDIAN__
  74. #define ELF_DATA    ELFDATA2LSB
  75. #else
  76. #define ELF_DATA    ELFDATA2MSB
  77. #endif
  78. #define ELF_ARCH    EM_AVR32
  79.  
  80. #define USE_ELF_CORE_DUMP
  81. #define ELF_EXEC_PAGESIZE    4096
  82.  
  83. /* This is the location that an ET_DYN program is loaded if exec'ed.  Typical
  84.    use of this is to invoke "./ld.so someprog" to test out a new version of
  85.    the loader.  We need to make sure that it is out of the way of the program
  86.    that it will "exec", and that there is sufficient room for the brk.  */
  87.  
  88. #define ELF_ET_DYN_BASE         (2 * TASK_SIZE / 3)
  89.  
  90.  
  91. /* This yields a mask that user programs can use to figure out what
  92.    instruction set this CPU supports.  This could be done in user space,
  93.    but it's not easy, and we've already done it here.  */
  94.  
  95. #define ELF_HWCAP    (0)
  96.  
  97. /* This yields a string that ld.so will use to load implementation
  98.    specific libraries for optimization.  This is more specific in
  99.    intent than poking at uname or /proc/cpuinfo.
  100.  
  101.    For the moment, we have only optimizations for the Intel generations,
  102.    but that could change... */
  103.  
  104. #define ELF_PLATFORM  (NULL)
  105.  
  106. #define SET_PERSONALITY(ex) set_personality(PER_LINUX_32BIT)
  107.  
  108. #endif /* __ASM_AVR32_ELF_H */
  109.